package com.kkshop.gwt.widget.wizard;

import com.google.gwt.user.client.ui.Widget;

public interface WizardWidget {

	/**
	 * Should create and return a widget representing this wizard. It is assumed
	 * that it was properly initialized (setting the wizard & co)
	 * 
	 * @return the newly created widget.
	 */
	public Widget createWidget();

	public Wizard getWizard();

	public WizardPage getCurrentPage();

	/**
	 * should update the next/previous/finish & co buttons.
	 */
	public void updateButtons();

	/**
	 * Can be called to simulate a user click on 'finish'
	 */
	public void handleFinishClick();

	/**
	 * Can be called to simulate a user click on 'cancel'
	 */
	public void handleCancelClick();

	/**
	 * Can be called to simulate a user click on 'next'
	 */
	public void handleNextClick();

	/**
	 * Can be called to simulate a user click on 'previous'/'back'
	 */
	public void handlePrevClick();

	/**
	 * Should update the displayed message or error message.
	 * 
	 */
	public void updateMessage();
}
